﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SIF_2.BussinesLayer;
using SIF_2.DataLayer;


namespace SIF_2
{
    public partial class fcsfactura : Form
    {
        ContabilidadEntities ObjContext = new ContabilidadEntities();
        public fcsfactura()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            FacturasBL Factura = new FacturasBL();
            
            
            
            dgcsfactura.RowCount = 1;
            dgcsfactura[0, dgcsfactura.RowCount - 1].Value = Factura.getFacturas(Convert.ToInt32(txtcsfactura.Text)).Id;
            dgcsfactura[1, dgcsfactura.RowCount - 1].Value = Factura.getFacturas(Convert.ToInt32(txtcsfactura.Text)).IdCliente;
            dgcsfactura[2, dgcsfactura.RowCount - 1].Value = Factura.getFacturas(Convert.ToInt32(txtcsfactura.Text)).Monto;
            dgcsfactura[3, dgcsfactura.RowCount - 1].Value = Factura.getFacturas(Convert.ToInt32(txtcsfactura.Text)).Fecha;
            dgcsfactura[4, dgcsfactura.RowCount - 1].Value = Factura.getFacturas(Convert.ToInt32(txtcsfactura.Text)).Tipo;
          
            DetalleFactura Detalle = new DetalleFactura();
            //List<DetalleFacturas> details = new List<DetalleFacturas>
            var details=Detalle.getDetalles(Convert.ToInt32(txtcsfactura.Text));

           foreach (var p in details )
	{
            dgdetail.RowCount += 1;
            dgdetail[0, dgdetail.RowCount - 1].Value = p.IdProducto;
            dgdetail[1, dgdetail.RowCount - 1].Value = NombreProducto(p.IdProducto);

            dgdetail[2, dgdetail.RowCount - 1].Value = BuscarPrecio(p.IdProducto);
            dgdetail[3, dgdetail.RowCount - 1].Value = p.Cantidad; 
            dgdetail[4, dgdetail.RowCount - 1].Value = p.Importe;

		 
	}
            
        }

        public string NombreProducto(string idProducto)
        {
            string Producto;
            Producto = (from p in ObjContext.Productos
                        where p.Codigo == idProducto
                        select p.Nombre).First();
            return Producto;
        
        
        }

        public string BuscarPrecio(string idProducto)
        {


            string precio = Convert.ToString((from p in ObjContext.Productos
                                              where p.Codigo == idProducto
                                              select p.PrecioPorUnidad).First());

            return precio;


        }



        private void fcsfactura_Load(object sender, EventArgs e)
        {

        }

    }
}
